MC_MoveAbsolute
功能塊 | MC_MoveAbsolute | ||
---|---|---|---|
下達一個目標為特定絕對位置之運動指令。 | |||
VAR_IN_OUT | |||
B | AxisIn | AXIS_REF | 軸的參考。 |
VAR_INPUT | |||
B | Execute | BOOL | 在上升邊緣開始運動。 |
E | ContinuousUpdate | BOOL | 若為 TRUE,當功能塊 (FB) 正在執行且參數值正被更新時,FB 將使用新值;若為 FALSE,則 FB 不會使用新值。 |
B | Position | LREAL | 偵測到參考訊號時的絕對位置,[單位]。 |
B | Velocity | LREAL | 最大速度值,靠近目標位置不一定會到達最大速度,[單位/每秒]。 |
E | Acceleration | LREAL | 加速度值,永遠為正值,單位由 MC_ProfileType 決定,(馬達的增加電源) [單位/每秒2] 或 [每秒]。 |
E | Deceleration | LREAL | 減速度值,永遠為正值,單位由 MC_ProfileType 決定,(馬達的減少電源) [單位/每秒2] 或 [每秒]。 |
E | Jerk | LREAL | 加加速度值。永遠為正值,單位由 MC_ProfileType 決定,為 [單位/每秒3] 或 [每秒]。 |
B | Direction | MC_Direction | 軸的移動方向。 |
E | BufferMode | MC_BufferMode | 定義如何融合兩功能塊的速度。 |
VAR_OUTPUT | |||
B | Done | BOOL | 已達到命令之位置。 |
E | Busy | BOOL | 功能塊尚未完成且預期將有新的輸出值。 |
E | Active | BOOL | 功能塊正在控制軸。 |
E | CommandAborted | BOOL | 命令被另一個命令中止。 |
B | Error | BOOL | 功能塊中出現錯誤的訊號。 |
E | ErrorID | MC_Error | 錯誤識別。 |
MC_MoveAbsolute | ||||||
---|---|---|---|---|---|---|
AXIS_REF | AxisIn | Axis | AXIS_REF | |||
BOOL | Execute | Done | BOOL | |||
BOOL | ContinuousUpdate | Busy | BOOL | |||
LREAL | Position | Active | BOOL | |||
LREAL | Velocity | CommandAborted | BOOL | |||
LREAL | Acceleration | Error | BOOL | |||
LREAL | Deceleration | ErrorID | MC_Error | |||
LREAL | Jerk | |||||
MC_Direction | Direction | |||||
MC_BufferMode | BufferMode | |||||
下圖兩個範例為兩個絕對運動功能塊組合:
- 時序圖的左側部分說明了在第一個功能塊 (FB) 之後呼叫第二個功能塊 (FB) 的情況,若 First 到達命令位置 6000(並且速度為 0),則輸出 Done 會導致 Second FB 移動到位置 10000。
- 時序圖的右側部分說明了第二個功能塊 (FB) 在第一個 FB 仍在執行時開始執行的情況,在這種情況下,在 First FB 的恆定速度期間,第一個運動即被 Test 訊號中斷和中止;而雖然 6000 的位置還沒有到達,Second FB 直接移動到 10000 的位置。
注意:這些範例基於功能塊的兩個實例:實例“First”和“Second”。